package com.xsm.ppsecret.util;

/**
 * Author: Xiasem
 * Email: xiasem@163.com
 * Date: 17-5-1.
 */

public class NativeHelper {

    //当Java类包含了native方法，那么这个类必须实现一个静态代码块,用来加载C代码块。库的名称必须是CMakeLists中指定的库名称
    static {
        System.loadLibrary("native-lib");
    }

    public static byte[] getAesKey() {
        String aesKeyKeyFromC = getAesKeyKeyFromC();
        byte[] bytes = aesKeyKeyFromC.getBytes();
        byte[] key = new byte[16];
        for (int i = 0; i < bytes.length; i++) {
            if (i == 16) {
                break;
            }
            key[i] = bytes[i];
        }
        return key;
    }



    public static byte[] getAesIvKey() {
        byte[] ivData = {2,10,3,55,1,4,6,8,0,2,3,5,6,1,3,0};
        return ivData;
    }

    public static native String getAesKeyKeyFromC();


//    public static String getAppKeyFromC() {
//        return getAppKey();
//    }
//
//    public static String getAppSecretFromC() {
//        return getAppSecret();
//    }
//
//    /**
//     * 实现C语言的调用入口，需要用C语言来实现
//     * @return
//     */
//    private static native String getAppKey();
//
//    /**
//     * 调用C语言
//     * @return
//     */
//    private static native String getAppSecret();
//
//    /**
//     * Java 向C传递参数，并且返回结果
//     */
//    public static native int add(int a, int b);

}
